package cn.dengta.webapp.trade.vo;

import java.util.List;

import cn.dengta.context.model.Option;
import cn.dengta.webapp.base.vo.AbstractVO;
import cn.dengta.webapp.trade.entity.CashBank;
import cn.dengta.webapp.trade.entity.FormTemplate;
import cn.dengta.webapp.user.entity.Relation;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

@Setter
@Getter
@Accessors(chain = true)
public class FormTemplateVO extends AbstractVO<Relation> {

	/** 国家/语言 */
	private String country;
	/** 表单类型：0=绑定银行卡；1=绑定钱包； */
	private Integer formType;
	/** 表单key */
	private String name;
	/** 表单字段名称 */
	private String label;
	/** text|number|select */
	private String type;
	/** 是否必填: 0=否；1=是； */
	private Integer required;
	/** 字段描述 */
	private String placeholder;
	/** 下拉框参数 */
	@TableField(exist = false)
	private List<Option<Object>> select;

	@TableField(exist = false)
	private List<CashBank> options;
	/** 正则表达式 */
	private String regex;
	/** 错误提示 */
	private String errorMsg;
	/** 回显最新银行卡信息 */
	private String value;
	/** 示例数据 */
	private String example;

	public static FormTemplateVO from(FormTemplate formTemplate) {
		return copy(formTemplate, FormTemplateVO::new);
	}

}
